토픽의 일관성 검사 (Topic Coherence Check)
1. 서론: 비지도 학습의 평가 딜레마와 정성적 해석의 필요성
토픽 모델링(Topic Modeling)은 대규모 텍스트 코퍼스라는 거대한 정보의 바다에서 숨겨진 의미적 구조, 즉 ’토픽’을 건져 올리는 작업이다. 잠재 디리클레 할당(LDA)과 같은 확률적 생성 모델부터 최신의 BERTopic과 같은 신경망 기반 모델에 이르기까지, 이 기술은 문서 집합을 관통하는 주제를 자동으로 추출하여 인간의 정보 처리 능력을 확장해 준다. 그러나 지도 학습(Supervised Learning)과 달리 정답(Ground Truth)이 존재하지 않는 비지도 학습의 특성상, “이 모델이 도출한 토픽이 과연 좋은 토픽인가?“라는 질문에 답하는 것은 자연어 처리(NLP) 분야의 오랜 난제였다.1
초기 연구자들은 모델의 통계적 적합성을 측정하기 위해 ’퍼플렉서티(Perplexity)’나 ’로그 우도(Log-likelihood)’와 같은 지표를 주로 사용했다. 이 지표들은 모델이 보류된 데이터(Held-out data)를 얼마나 잘 예측하는지, 즉 확률 분포가 데이터에 얼마나 잘 들어맞는지를 수치화한다. 그러나 2009년 Chang 등의 선구적인 연구를 시작으로, 통계적으로 우수한 모델이 반드시 인간에게 해석 가능한(Interpretability) 결과를 보장하지 않는다는 사실이 밝혀졌다. 오히려 퍼플렉서티가 낮아질수록(통계적으로 좋아질수록) 인간이 느끼는 토픽의 의미적 명확성은 떨어지는 역설적인 현상이 관찰되기도 했다.2
이러한 배경에서 ’토픽 일관성(Topic Coherence)’이라는 개념이 부상했다. 토픽 일관성은 기계적인 확률 적합도가 아니라, 추출된 토픽을 구성하는 상위 단어들이 인간의 인지 구조 안에서 얼마나 논리적으로 연결되는지를 평가하려는 시도이다. 예를 들어, 어떤 토픽이 {게임, 팀, 스포츠, 공, 선수}와 같은 단어들로 구성되어 있다면, 우리는 즉각적으로 이를 ’스포츠’라는 주제로 인지할 수 있다. 반면 {사과, 민주주의, 우주선, 바나나, 투표}와 같이 구성된 토픽은 통계적으로는 공존할 수 있을지언정, 인간의 관점에서는 의미적 일관성이 결여된 ’잡음’에 불과하다.4
따라서 현대의 토픽 모델링 워크플로우에서 일관성 검사는 단순한 사후 검증 절차가 아니라, 최적의 토픽 개수(K)를 결정하고, 하이퍼파라미터를 튜닝하며, 최종적으로 모델의 효용성을 입증하는 핵심 단계로 자리 잡았다. 본 절에서는 토픽 일관성의 이론적 토대가 되는 언어학적 가설부터, C_v, C_{UMass}, C_{NPMI} 등 다양한 정량적 지표들의 수학적 원리와 장단점, 그리고 최근 제기되고 있는 지표의 신뢰성 문제와 최신 연구 동향까지 포괄적으로 다룬다. 또한 실무적 관점에서 Python 라이브러리인 Gensim과 Scikit-learn을 활용한 구현 전략과 결과 해석의 미묘한 뉘앙스까지 심도 있게 논의한다.
2. 이론적 프레임워크: 분포 가설과 4단계 파이프라인
토픽 일관성 지표를 단순히 라이브러리가 뱉어내는 하나의 숫자로 치부해서는 그 본질을 이해할 수 없다. 모든 자동화된 일관성 지표는 “비슷한 문맥에서 등장하는 단어들은 비슷한 의미를 가진다“는 언어학의 ’분포 가설(Distributional Hypothesis)’에 뿌리를 두고 있다.5 즉, 토픽 모델이 제대로 학습되었다면, 하나의 토픽으로 묶인 단어들은 실제 문서 집합 내에서도 물리적으로 가깝게, 혹은 빈번하게 함께 등장했어야 한다는 것이다.
2015년 뢰더(Röder), 보스(Both), 힌네버그(Hinneburg)는 다양한 일관성 지표들을 체계적으로 정리하여 ’4단계 파이프라인(4-Stage Pipeline)’이라는 통합 프레임워크를 제안했다. 현재 우리가 사용하는 거의 모든 일관성 지표는 이 파이프라인의 각 단계를 어떻게 설정하느냐에 따른 조합의 결과물이다.6
2.1 제1단계: 세그멘테이션(Segmentation)
일관성 계산의 시발점은 토픽을 구성하는 단어 집합 W = {w_1, w_2,..., w_n}을 분석 가능한 단위로 분할하는 것이다. 보통 토픽 모델은 각 토픽에 대해 기여도가 높은 상위 N개의 단어를 출력한다.
- S_{set} (집합 기반): 단어 집합 전체를 하나의 단위로 보거나, 부분 집합으로 나눈다.
- S_{one-one} (쌍 기반): 단어들을 가능한 모든 쌍(Pair)으로 쪼갠다. 예를 들어 W = {w_1, w_2, w_3}라면, (w_1, w_2), (w_1, w_3), (w_2, w_3)와 같이 분할한다. C_{UCI}나 C_{UMass}와 같은 초기 지표들이 이 방식을 채택한다.
- S_{one-set} (단어-집합 기반): 하나의 단어와 나머지 단어들의 집합을 비교한다. 예를 들어 w_1이 W' = {w_2, w_3,...}라는 집합 전체와 얼마나 어울리는지를 측정한다. 이는 C_v 지표의 핵심적인 특징으로, 개별 단어 간의 단순 관계를 넘어 전체 문맥과의 조화를 평가할 수 있게 한다.4
2.2 제2단계: 확률 추정(Probability Estimation)
분할된 단위들이 실제 데이터에서 얼마나 자주 등장하는지 확률 P를 계산하는 단계이다. 이때 ‘어디서’ 세느냐(참조 코퍼스)와 ‘어떻게’ 세느냐(윈도우 크기)가 중요하다.
- 참조 코퍼스(Reference Corpus): 모델을 학습시킨 원본 텍스트를 사용할 수도 있고(Intrinsic measure), 위키피디아와 같은 외부의 대규모 일반 텍스트를 사용할 수도 있다(Extrinsic measure). 외부 코퍼스를 사용하면 특정 도메인에 과적합된 모델의 편향을 보정하고 더 일반적인 의미의 일관성을 평가할 수 있다.5
- 부울 슬라이딩 윈도우(Boolean Sliding Window): 문서를 고정된 크기(예: 10단어, 20단어, 110단어)의 창으로 훑어가며 그 안에서의 동시 등장을 카운트한다. 문서 전체를 하나의 단위로 볼 경우, 문서의 길이가 길어지면 실제로는 전혀 관계없는 서두의 단어와 결말의 단어가 ’함께 등장했다’고 잘못 판단될 수 있다. 슬라이딩 윈도우는 이러한 문제를 방지하고 단어 간의 국소적(Local) 문맥을 포착한다.4
- 문서 공기(Document Co-occurrence): 단순히 두 단어가 같은 문서 ID를 공유하는지만을 따진다. C_{UMass}가 이 방식을 사용하며, 계산 효율성이 매우 높다.
2.3 제3단계: 확인 척도(Confirmation Measure)
확률 추정치를 바탕으로 두 단위 간의 의미적 결합도를 점수화하는, 파이프라인의 심장부이다.
- 직접 확인(Direct Confirmation): P(w_i, w_j)와 같이 두 단어의 결합 확률을 직접 수식에 대입한다. PMI(점별 상호정보량), NPMI(정규화된 PMI), 로그 조건부 확률 등이 여기에 속한다. “A가 나올 때 B가 나올 확률이 우연보다 얼마나 높은가?“를 묻는다.1
- 간접 확인(Indirect Confirmation): 두 단어를 직접 비교하는 대신, 두 단어가 제3의 문맥 벡터와 맺는 관계를 비교한다. 예를 들어, ’스마트폰’과 ’전화기’가 텍스트 내에서 직접 같이 쓰인 적은 없더라도, 두 단어 모두 ‘배터리’, ‘통화’, ’화면’이라는 단어들과 자주 어울린다면 두 단어의 벡터는 유사할 것이다. C_v 지표는 이 방식을 사용하여 코사인 유사도(Cosine Similarity)를 계산함으로써 데이터 희소성(Sparsity) 문제를 효과적으로 우회한다.4
2.4 제4단계: 집계(Aggregation)
마지막으로, 모든 쌍이나 집합에 대해 계산된 확인 척도 값들을 하나의 스칼라 값으로 요약한다. 산술 평균(Arithmetic Mean)이 가장 보편적으로 사용되지만, 이상치에 민감하지 않은 중앙값(Median)이나 기하 평균을 사용할 수도 있다. 최종적으로 각 토픽의 점수를 평균 내어 모델 전체의 일관성 점수를 산출한다.6
3. 주요 일관성 지표의 심층 비교 분석
수많은 일관성 지표 중에서도 학계와 산업계에서 표준처럼 사용되는 세 가지 지표인 C_v, C_{UMass}, C_{NPMI}에 대해 상세히 분석한다. 각 지표는 서로 다른 철학과 계산 방식을 가지고 있으므로, 분석가는 데이터의 특성과 분석 목적에 따라 적절한 도구를 선택할 수 있는 안목을 갖춰야 한다.
3.1 C_v: 현재의 표준, 그러나 완벽하지 않은
C_v는 뢰더 등의 연구에서 인간의 평가와 가장 높은 상관관계(0.73)를 보인다는 결과가 발표된 이후, 토픽 모델링 평가의 사실상 표준(De facto standard)으로 자리 잡았다.5
- 메커니즘: ‘슬라이딩 윈도우(크기 110)’ + ‘원-셋 분할’ + ‘간접 확인(NPMI 벡터의 코사인 유사도)’ 방식을 결합했다. 이는 단어 간의 직접적인 동시 등장뿐만 아니라, 문맥적 유사성까지 포착하려는 시도이다.
- 해석 가이드라인:
- 0 ~ 1 범위: 일반적으로 0과 1 사이의 값을 가진다.
- < 0.4: 낮은 일관성. 토픽이 잡탕이거나 데이터 전처리가 미흡함.
- 0.55: 준수한(Okay) 수준의 토픽.
- > 0.7: 매우 우수한 토픽 일관성. 의미적으로 명확하게 연결됨.
- > 0.9: 의심스러운 수치. ’United States’와 같은 고정된 연어(Collocation)나 중복 데이터가 지배적일 때 나타나며, 오히려 과적합을 의심해야 한다.9
- 장점: 간접 확인 방식을 사용하여, 훈련 데이터에 직접 같이 등장하지 않은 단어들 간의 잠재적 관계도 파악할 수 있다. 이는 희소한(Sparse) 데이터셋에서 특히 강점을 발휘한다.
3.2 C_{UMass}: 효율성과 내재적 평가
C_{UMass}는 기계학습 문헌에서 자주 등장하는 지표로, 외부 데이터 없이 훈련 데이터 자체의 통계만을 이용한다.4
-
메커니즘: 문서 단위의 공기 정보를 바탕으로 비대칭적인 로그 조건부 확률을 계산한다.
C_{UMass}(w_i, w_j) = \log \frac{D(w_i, w_j) + \epsilon}{D(w_j)}
여기서 D(w_i, w_j)는 두 단어가 함께 등장한 문서의 수이고, \epsilon은 로그 0을 방지하기 위한 평활화(Smoothing) 상수(보통 10^{-12})이다.10 중요한 점은 w_j가 w_i보다 더 자주 등장하는 단어가 되도록 순서를 조정한다는 것이다. -
해석 가이드라인:
-
음수 범위: 항상 0 이하의 값을 가지며, 0에 가까울수록 좋다. (예: -1이 -10보다 좋다).
-
범위: 일반적으로 -14에서 1 사이이다.9
-
특징: 계산 속도가 타 지표에 비해 월등히 빠르다. 모델이 데이터를 얼마나 효율적으로 압축하고 설명하는지를 보여주기에 적합하다. 하지만 ’일반적인 단어(Frequent words)’에 의해 점수가 좌우되는 경향이 있어, 드물지만 의미 있는 단어들로 구성된 토픽을 저평가할 위험이 있다.11
3.3 C_{NPMI}: 강건함과 정규화의 미학
NPMI(Normalized Pointwise Mutual Information)는 전통적인 PMI의 약점, 즉 빈도수가 낮은 단어의 결합 확률을 과대평가하는 문제를 보완한 지표이다.4
- 메커니즘: 두 단어의 동시 등장 확률이 독립일 때보다 얼마나 높은지를 측정하되, 이를 결합 확률의 로그값으로 나누어 -1에서 1 사이로 정규화한다.
NPMI(w_i, w_j) = \frac{\log \frac{P(w_i, w_j)}{P(w_i)P(w_j)}}{-\log P(w_i, w_j)}
평가: 최근 연구들에서는 C_v보다 NPMI가 인간의 직관이나 다운스트림 태스크(분류 등)의 성능과 더 일관된 상관관계를 보인다는 주장이 힘을 얻고 있다.11 특히 분류기 성능 예측에 있어서는 C_{UMass}가 일관되지 않은 결과를 보인 반면, NPMI는 유의미한 상관관계를 보였다는 보고가 있다.11
| 지표 | 기반 원리 | 참조 데이터 | 범위 | 주요 특징 및 권장 용도 |
|---|---|---|---|---|
| C_v | 슬라이딩 윈도우 + 간접 확인 | 외부/내부 | 0 < x < 1 | 현재 표준. 해석이 직관적이나 계산 비용 높음. 일반적 평가에 권장. |
| C_{UMass} | 문서 공기 + 로그 조건부 확률 | 내부 (Intrinsic) | -\infty < x < 0 | 계산 속도 매우 빠름. 모델 튜닝 단계에서의 신속한 비교에 적합. |
| C_{NPMI} | 슬라이딩 윈도우 + 정규화된 PMI | 외부/내부 | -1 < x < 1 | 빈도수 편향 보정. 다운스트림 태스크 성능 예측 및 강건한 평가에 적합. |
| C_{UCI} | 슬라이딩 윈도우 + PMI | 외부 (Extrinsic) | -\infty < x < \infty | PMI 기반의 고전적 지표. 저빈도 단어 왜곡 가능성 있음. |
4. 지표의 신뢰성 위기와 ‘평가 격차(Evaluation Gap)’
“일관성 점수가 높으면 무조건 좋은 모델인가?” 이 질문은 최근 토픽 모델링 연구의 가장 뜨거운 감자이다. C_v를 필두로 한 자동화된 지표들이 오랫동안 신뢰를 받아왔지만, 최신의 신경망 기반 토픽 모델(Neural Topic Models, NTM)들이 등장하면서 이 지표들의 허점이 드러나기 시작했다.
4.1 C_v의 맹점: 기계는 속여도 사람은 못 속인다
2021년 Hoyle 등의 연구에 따르면, 최신 뉴럴 토픽 모델들은 기존의 LDA 모델보다 훨씬 높은 C_v 점수를 기록했으나, 실제 인간 평가자들이 봤을 때는 토픽의 품질이 더 낮거나 차이가 없는 것으로 나타났다. 이를 ’검증 격차(Validation Gap)’라고 부른다.8 C_v의 복잡한 간접 확인 방식이 때로는 인간이 보기에 전혀 말이 되지 않는 단어 조합(Incoherent topics)에도 높은 점수를 부여하는 ‘인플레이션’ 현상을 일으키기 때문이다. 예를 들어, 신경망 모델이 생성한 토픽이 텍스트 내의 국소적인 패턴은 잘 잡아내지만(높은 C_v), 전체적인 의미 맥락에서는 생뚱맞은 단어들을 섞어 놓는 경우가 이에 해당한다.
4.2 상관관계의 재평가
더 나아가 대규모 사용자 연구에서는 C_v와 인간 판단 사이의 상관관계가 기존에 알려진 것보다 낮거나, 특정 데이터셋(특히 짧은 텍스트)에서는 아예 상관관계가 무너지는 현상이 관찰되었다.8 일부 연구에서는 오히려 단순한 NPMI가 인간의 판단과 더 견고한 상관관계를 유지한다고 보고한다. 이는 복잡한 수식이 반드시 더 나은 평가를 보장하지 않음을 시사한다. 특히 C_{UMass}는 인간 판단과의 상관관계가 매우 낮거나 음의 상관관계를 보이기도 하여, 최종 모델 선정의 기준으로 삼기에는 위험 부담이 있다는 지적이 제기된다.12
4.3 결론적 제언: Human-in-the-loop
이러한 논란이 주는 교훈은 명확하다. 자동화된 일관성 지표는 모델 튜닝을 위한 ’나침반’일 뿐, 목적지 자체가 되어서는 안 된다는 것이다. 연구자는 C_v 점수만을 맹신하여 모델을 선택해서는 안 되며, 반드시 NPMI 등 다른 지표를 교차 검증하고, 최종적으로는 도메인 지식을 가진 인간이 직접 상위 토픽 단어와 원문 문서를 대조해 보는 정성적 평가(Qualitative Evaluation) 과정을 거쳐야 한다.10
5. 최적의 토픽 수(K) 선정: Elbow Method와 그 한계
토픽 모델링에서 분석가가 내려야 할 가장 중요한 결정은 “이 문서 집합에 몇 개의 주제가 숨어 있는가?” 즉, K값을 정하는 것이다. K는 모델의 하이퍼파라미터이므로 사전에 지정해야 하지만, 정답을 미리 알 방법은 없다. 여기서 일관성 점수는 K를 추정하는 핵심 단서가 된다.
5.1 Elbow Method (팔꿈치 기법)의 원리
Elbow Method는 K를 점진적으로 증가시키며 일관성 점수를 계산하여 그래프로 시각화했을 때, 점수의 상승세가 꺾이고 평탄해지기 시작하는 지점(Elbow Point)을 찾는 경험적 방법이다.17
- 경제학적 해석: 토픽 수를 늘리는 것은 모델의 복잡도(비용)를 높이는 행위이다. 초기에는 K가 증가함에 따라 뭉뚱그려져 있던 주제들이 분화되며 일관성(이익)이 급격히 상승한다. 그러나 실제 데이터에 내재된 주제의 총량을 넘어서면, 토픽을 더 쪼개도 의미 있는 정보가 추가되지 않는 ‘수확 체감(Diminishing Returns)’ 구간에 진입한다. 바로 이 지점이 최적의 K이다.19
- 그래프 해석: X축을 토픽 수, Y축을 일관성 점수로 둔다. 그래프가 가파르게 오르다가 완만해지는 변곡점, 혹은 점수가 정점을 찍고 하락하기 직전의 K를 선택한다.3
5.2 도메인과 데이터 특성에 따른 변동성
하지만 모든 그래프가 예쁜 팔꿈치 모양을 그리는 것은 아니다. 데이터의 특성에 따라 최적의 K는 천차만별이다.
- COVID-19 논문 데이터: 한 연구에서는 K=8에서 10 사이가 최적이었다.3 이는 특정 이슈에 집중된 데이터셋의 경우 주제가 소수로 압축됨을 보여준다.
- 대규모 임상 노트(Clinical Notes): 반면 수십만 건의 방대한 의료 기록을 분석한 연구에서는 K=100과 같이 매우 큰 값에서 일관성 지표가 안정화되거나 더 높은 성능을 보였다.16 이는 의료 데이터의 복잡성과 다양성을 반영한다.
- 짧은 텍스트(Tweets): 트위터와 같이 짧고 희소한 텍스트는 K가 커질수록 일관성이 급격히 무너지는 경향이 있어, 더 작은 K를 선호하거나 LDA 대신 BERTopic과 같은 모델을 고려해야 한다.8
5.3 시각화 도구의 활용: pyLDAvis
단순히 K별 점수 그래프만 보는 것이 아니라, pyLDAvis와 같은 도구를 통해 ’토픽 간 거리 지도(Intertopic Distance Map)’를 함께 확인해야 한다. 일관성 점수가 높더라도 시각화 결과에서 여러 토픽 원(Circle)들이 과도하게 겹쳐(Overlap) 있다면, 이는 모델이 서로 다른 주제를 제대로 구분하지 못하고 있음을 의미한다. 반대로 토픽들이 2차원 평면에 골고루 퍼져 있으면서도(잘 분리됨) 각각의 원 크기가 적절하다면, 해당 K가 합리적이라는 강력한 증거가 된다.3
6. 실무 구현 전략: Gensim과 Scikit-learn의 통합
이론적 무장이 끝났다면, 이제 Python을 이용해 실제로 일관성을 계산하고 모델을 검증하는 단계로 넘어간다. 사실상 업계 표준 라이브러리인 Gensim과, 머신러닝 파이프라인 구축에 강점을 가진 Scikit-learn을 어떻게 조화롭게 사용할지가 실무의 핵심이다.
6.1 Gensim CoherenceModel 활용의 정석
Gensim은 CoherenceModel이라는 전용 클래스를 통해 매우 직관적이고 강력한 평가 기능을 제공한다.6
필수 구성 요소:
- 모델 (Model): 학습이 완료된 LDA 모델.
- 텍스트 (Texts): 전처리가 완료된 토큰화된 문서 리스트 (List of list of tokens). 일관성 계산의 기준이 되는 텍스트이다.
- 사전 (Dictionary): 단어와 정수 ID를 매핑한 Gensim Dictionary 객체.
- 지표 (Coherence):
'c_v','u_mass','c_npmi'등 측정하고자 하는 지표의 문자열 코드.
구현 팁:
- 프로세스 병렬화:
processes파라미터를 조정하여 멀티코어 연산을 수행할 수 있다. C_v 계산은 꽤 무거운 작업이므로, 대용량 코퍼스에서는 코어 수를 늘리는 것이 필수적이다.7 - Top-N 단어 수:
topn파라미터(기본값 20)는 평가에 사용할 상위 단어의 개수이다. 보통 10~20개를 사용하며, 이 숫자가 너무 작으면 통계적 유의성이 떨어지고, 너무 크면 주제와 무관한 일반 단어가 섞여 점수가 희석될 수 있다.21
6.2 Scikit-learn 모델의 평가: 가교(Bridge) 놓기
Scikit-learn의 LatentDirichletAllocation은 훌륭한 모델링 도구이지만, 자체적으로 일관성 점수(Coherence Score)를 계산하는 기능은 없다(퍼플렉서티만 제공).22 따라서 Scikit-learn으로 모델을 만들었다면, 평가를 위해 Gensim의 도구를 빌려와야 한다.
변환 워크플로우:
- 모델 학습: Scikit-learn으로 LDA 모델을 학습시킨다.
- 토픽 추출:
model.components_속성에 접근하여 각 토픽별로 가중치가 높은 상위 단어들의 인덱스를 추출한다. - 단어 매핑:
CountVectorizer의get_feature_names_out()을 사용하여 인덱스를 실제 단어 문자열로 변환한다. 이렇게 만든 ’토픽별 상위 단어 리스트’는 Gensim의topics입력값과 호환된다.21 - 참조 코퍼스 변환: Scikit-learn의 입력 데이터(Document-Term Matrix)가 아니라, 원본 토큰 리스트를 Gensim
CoherenceModel의texts인자에 넘겨주어야 한다.
tmtoolkit의 활용:
이러한 수동 변환 과정이 번거롭다면 tmtoolkit 라이브러리를 사용하는 것이 훌륭한 대안이다. 이 라이브러리는 Scikit-learn, Gensim, lda 패키지 등을 아우르는 통합 인터페이스를 제공하며, Scikit-learn 모델 객체를 그대로 받아 Gensim 방식의 일관성 점수를 계산해 주는 함수를 내장하고 있다.21 이는 코드의 복잡성을 줄이고 변환 과정에서의 실수를 방지해 준다.
6.3 하이퍼파라미터 \alpha와 \beta의 영향
일관성 점수를 높이기 위해 K만 조절하는 것은 반쪽짜리 노력이다. 디리클레 분포의 사전 확률인 \alpha(문서-토픽 밀도)와 \beta(토픽-단어 밀도)를 튜닝하는 것도 매우 중요하다. 일반적으로 \alpha를 낮추면 문서를 구성하는 토픽의 수가 줄어들어 문서가 특정 주제에 집중하게 되고, \beta를 낮추면 토픽을 구성하는 단어의 수가 줄어들어 토픽이 더 구체적인 단어들로 압축된다. 경험적으로 낮은 \alpha와 \beta 값(Sparse prior)이 더 높은 일관성 점수를 유도하는 경향이 있다.9
7. 결론 및 향후 전망: 통계를 넘어 문맥으로
토픽 일관성 검사는 비지도 학습이라는 칠흑 같은 어둠 속에서 등대를 찾는 과정이다. C_v, C_{UMass}, C_{NPMI}와 같은 지표들은 우리가 찾은 토픽이 의미 있는 정보인지, 아니면 통계적 잡음인지 판단할 수 있는 중요한 기준점을 제공한다. 그러나 이 장에서 반복해서 강조했듯이, 어떤 단일 지표도 완벽하지 않다. C_v는 과대평가의 위험이 있고, C_{UMass}는 인간의 직관과 어긋날 수 있다.
따라서 현명한 분석가는 다음과 같은 다층적인(Multi-layered) 검증 전략을 수립해야 한다:
- 정량적 필터링: Elbow Method와 C_v/C_{NPMI} 점수를 활용하여 최적의 K 후보군과 하이퍼파라미터 조합을 1차적으로 선별한다.
- 시각적 검증:
pyLDAvis등을 통해 토픽 간의 독립성과 군집 형태를 확인한다. - 정성적 평가: 최종적으로 도메인 전문가가 개입하여 상위 단어들을 직접 읽고 해석 가능성을 판단한다.
미래의 토픽 모델링 평가는 LLM을 활용한 ’맥락화된 토픽 일관성(CTC)’과 같이, 단순한 단어 공기 빈도를 넘어 텍스트의 심층적인 의미와 뉘앙스까지 이해하는 방향으로 진화할 것이다.8 이제 우리는 통계적 수치에 매몰되지 않고, 그 수치가 가리키는 실제 ’의미(Semantics)’의 세계로 나아갈 준비가 되었다. 다음 절에서는 이렇게 검증된 토픽 모델을 활용하여 문서 분류, 트렌드 분석 등 실제 응용 애플리케이션을 구축하는 방법을 다룰 것이다.
8. 참고 자료
- Understanding Topic Coherence Measures | Towards Data Science, https://towardsdatascience.com/understanding-topic-coherence-measures-4aa41339634c/
- Selection of the Optimal Number of Topics for LDA Topic Model—Taking Patent Policy Analysis as an Example - NIH, https://pmc.ncbi.nlm.nih.gov/articles/PMC8534395/
- How many Topics: A detailed guide to Topic Modeling | by Khushboo Gupta | Medium, https://guptakhushi345.medium.com/how-many-topics-a-detailed-guide-to-topic-modeling-fa23eae385ef
- Evaluate Topic Models: Latent Dirichlet Allocation (LDA) | by Shashank Kapadia - Medium, https://medium.com/data-science/evaluate-topic-model-in-python-latent-dirichlet-allocation-lda-7d57484bb5d0
- Cᵥ Topic Coherence Explained - Towards Data Science, https://towardsdatascience.com/c%E1%B5%A5-topic-coherence-explained-fc70e2a85227/
- gensim/gensim/models/coherencemodel.py at develop - GitHub, https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/coherencemodel.py
- models.coherencemodel – Topic coherence pipeline — gensim, https://radimrehurek.com/gensim/models/coherencemodel.html
- Contextualized Topic Coherence Metrics - ACL Anthology, https://aclanthology.org/2024.findings-eacl.123.pdf
- Evaluation of topic modeling: How to understand a coherence value / c_v of 0.4, is it good or bad? [closed] - Stack Overflow, https://stackoverflow.com/questions/54762690/evaluation-of-topic-modeling-how-to-understand-a-coherence-value-c-v-of-0-4
- Full-Text or Abstract? Examining Topic Coherence Scores Using Latent Dirichlet Allocation - DSpace, https://dspace.library.uu.nl/bitstream/handle/1874/358288/Examining.pdf?sequence=1
- Topic Modeling Evaluations: The Relationship Between Coherency and Accuracy, https://fse.studenttheses.ub.rug.nl/28618/1/s2863685_alfiuddin_hadiat_CCS_thesis.pdf
- Aligning Human and Computational Coherence Evaluations - MIT Press Direct, https://direct.mit.edu/coli/article/50/3/893/120894/Aligning-Human-and-Computational-Coherence
- Calculating optimal number of topics for topic modeling (LDA) - Stack Overflow, https://stackoverflow.com/questions/67129938/calculating-optimal-number-of-topics-for-topic-modeling-lda
- Is Automated Topic Model Evaluation Broken?: The Incoherence of Coherence, https://proceedings.neurips.cc/paper/2021/file/0f83556a305d789b1d71815e8ea4f4b0-Paper.pdf
- Is Automated Topic Model Evaluation Broken?: The Incoherence of Coherence - arXiv, https://arxiv.org/abs/2107.02173
- Quality indices for topic model selection and evaluation: a literature review and case study, https://pmc.ncbi.nlm.nih.gov/articles/PMC10362613/
- Determining the Optimal Number of Clusters Using the Elbow Method: How, When, Where, What, and Why | by Taran Kaur | Medium, https://medium.com/@tarangds/determining-the-optimal-number-of-clusters-using-the-elbow-method-how-when-where-what-and-why-cd1e94b82c1e
- Elbow method (clustering) - Wikipedia, https://en.wikipedia.org/wiki/Elbow_method_(clustering)
- When Coherence Score Is Good or Bad in Topic Modeling? | Baeldung on Computer Science, https://www.baeldung.com/cs/topic-modeling-coherence-score
- Optimal Number of Topics vs Coherence Score. Number of Topics (k) are… - ResearchGate, https://www.researchgate.net/figure/Optimal-Number-of-Topics-vs-Coherence-Score-Number-of-Topics-k-are-selected-based-on_fig4_333865994
- How do I calculate the coherence score of an sklearn LDA model? - Stack Overflow, https://stackoverflow.com/questions/60613532/how-do-i-calculate-the-coherence-score-of-an-sklearn-lda-model
- LDA Topic Model Performance - Topic Coherence Implementation for scikit-learn, https://stackoverflow.com/questions/52102961/lda-topic-model-performance-topic-coherence-implementation-for-scikit-learn
- Topic modeling — tmtoolkit documentation - Read the Docs, https://tmtoolkit.readthedocs.io/en/latest/topic_modeling.html